package com.gqj.meter.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.gqj.common.annotation.Excel;
import com.gqj.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;
import java.util.List;

/**
 * 储位变更记录对象 md_store_loc_chg
 *
 * @author lxq
 * @date lxq-02-10
 */
public class MdStoreLocChg extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 变更记录标识,储位变更记录
     */
    private Long chgId;

    /**
     * 库房标识,库房标识
     */
    @ApiModelProperty(name = "库房标识")
    private Long whId;

    /**
     * 库区标识
     */
    @ApiModelProperty(name = "库区标识")
    private Long whAreaId;

    /**
     * 存放区标识
     */
    @ApiModelProperty(name = "存放区标识")
    private Long storeAreaId;

    /**
     * 原储位标识
     */
    @ApiModelProperty("原储位标识")
    private String srcStoreLocId;

    /**
     * 储位编号
     */
    @ApiModelProperty("原储位编号")
    @Excel(name = "原储位编号", width = 30)
    private String srcStoreLocNo;

    /**
     * 储位名称
     */
    @ApiModelProperty("原储位名称")
    @Excel(name = "原储位名称", width = 30)
    private String srcStoreLocName;

    /**
     * 新储位标识
     */
    @ApiModelProperty("storeLocId")
    private String storeLocId;

    /**
     * 储位编号
     */
    @ApiModelProperty("新储位编号")
    @Excel(name = "新储位编号", width = 30)
    private String storeLocNo;

    /**
     * 储位名称
     */
    @ApiModelProperty("新储位名称")
    @Excel(name = "新储位名称", width = 30)
    private String storeLocName;

    /**
     * 变更时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "变更时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date chgDate;

    /**
     * 条形码,根据储位存储设备类别不同，有可能是设备条码、周转箱条码、托盘条码
     */
    @Excel(name = "条形码", width = 30)
    private String barCode;

    /**
     * 设备类别
     * 01：电能表
     * 02：电压互感器
     * 03：电流互感器
     * 04：组合互感器
     * 09：采集终端
     * 21：负控设备
     * 25：采集器
     */
    @Excel(name = "设备类别", width = 30, dictType = "md_assets_category")
    private String equipCateg;

    List<String> rfidList;

    public List<String> getRfidList() {
        return rfidList;
    }

    public void setRfidList(List<String> rfidList) {
        this.rfidList = rfidList;
    }

    public String getSrcStoreLocNo() {
        return srcStoreLocNo;
    }

    public void setSrcStoreLocNo(String srcStoreLocNo) {
        this.srcStoreLocNo = srcStoreLocNo;
    }

    public String getSrcStoreLocName() {
        return srcStoreLocName;
    }

    public void setSrcStoreLocName(String srcStoreLocName) {
        this.srcStoreLocName = srcStoreLocName;
    }

    public String getStoreLocNo() {
        return storeLocNo;
    }

    public void setStoreLocNo(String storeLocNo) {
        this.storeLocNo = storeLocNo;
    }

    public String getStoreLocName() {
        return storeLocName;
    }

    public void setStoreLocName(String storeLocName) {
        this.storeLocName = storeLocName;
    }

    public void setChgId(Long chgId) {
        this.chgId = chgId;
    }

    public Long getChgId() {
        return chgId;
    }

    public void setWhId(Long whId) {
        this.whId = whId;
    }

    public Long getWhId() {
        return whId;
    }

    public void setWhAreaId(Long whAreaId) {
        this.whAreaId = whAreaId;
    }

    public Long getWhAreaId() {
        return whAreaId;
    }

    public void setStoreAreaId(Long storeAreaId) {
        this.storeAreaId = storeAreaId;
    }

    public Long getStoreAreaId() {
        return storeAreaId;
    }

    public void setSrcStoreLocId(String srcStoreLocId) {
        this.srcStoreLocId = srcStoreLocId;
    }

    public String getSrcStoreLocId() {
        return srcStoreLocId;
    }

    public void setStoreLocId(String storeLocId) {
        this.storeLocId = storeLocId;
    }

    public String getStoreLocId() {
        return storeLocId;
    }

    public void setChgDate(Date chgDate) {
        this.chgDate = chgDate;
    }

    public Date getChgDate() {
        return chgDate;
    }

    public void setBarCode(String barCode) {
        this.barCode = barCode;
    }

    public String getBarCode() {
        return barCode;
    }

    public void setEquipCateg(String equipCateg) {
        this.equipCateg = equipCateg;
    }

    public String getEquipCateg() {
        return equipCateg;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("chgId", getChgId())
                .append("whId", getWhId())
                .append("whAreaId", getWhAreaId())
                .append("storeAreaId", getStoreAreaId())
                .append("srcStoreLocId", getSrcStoreLocId())
                .append("storeLocId", getStoreLocId())
                .append("chgDate", getChgDate())
                .append("barCode", getBarCode())
                .append("equipCateg", getEquipCateg())
                .toString();
    }
}
